<?php
/**
 * *****************************
 * 宁夏博达职业培训学校
 * create by ZhangChenjun
 * 2020.04.10
 * *****************************
 */
// 应用公共文件

use think\Request;

/**
 * @param number $status 请求状态码
 * @param string $message 提示信息
 * @param array $data 请求返回数据
 * @param int $httpcode 网络状态码
 * @return \think\response\Json
 * @return string alt 当前请求地址
 */
function show($status,$message,$data=[],$httpcode=200) {
    /**
     * $_add string url定位
     * $_http string 当前域名
     * $_http_type string http请求协议
     * $_alt string 完整请求地址
     */
    $_add = Request::instance()->url();
    $_http = $_SERVER['HTTP_HOST'];
    $_http_type = http_request_type();
    $_api_url = $_http_type.'://'.$_http.$_add;
    /**
     * status number 状态码
     * message string 自定义提示信息
     * alt string 请求url地址
     * data array 返回数据
     */
    $data = [
        'status'  => $status,
        'message' => $message,
        'api_url' => $_api_url,
        'data'    => $data
    ];
    return json($data,$httpcode);
}

/**
 * is_https() 是否为https 请求方式
 * @return string 当前请求方式
 */
function http_request_type() {
    $http_type = is_https();
    if(!$http_type) {
        return 'http';
    }
    return 'https';
}

function return_url() {
    return http_request_type().'//'.$_SERVER['HTTP_HOST'];
}

/**
 * 利用PHP原生方法判断是否为https
 * @return bool https
 */
function is_https() {
    if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
        return true;
    } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
        return true;
    } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
        return true;
    }
    return false;
}

/**
 * 获取当前移动端系统版本
 * 仅支持IOS和安卓
 */
function getOS() {
    $ua = $_SERVER['HTTP_USER_AGENT'];//这里只进行IOS和Android两个操作系统的判断，其他操作系统原理一样
    if (strpos($ua, 'Android') !== false) {//strpos()定位出第一次出现字符串的位置，这里定位为0
        preg_match("/(?<=Android )[\d\.]{1,}/", $ua, $version);
        echo 'Platform:Android OS_Version:'.$version[0];
    } elseif (strpos($ua, 'iPhone') !== false) {
        preg_match("/(?<=CPU iPhone OS )[\d\_]{1,}/", $ua, $version);
        echo 'Platform:iPhone OS_Version:'.str_replace('_', '.', $version[0]);
    } elseif (strpos($ua, 'iPad') !== false) {
        preg_match("/(?<=CPU OS )[\d\_]{1,}/", $ua, $version);
        echo 'Platform:iPad OS_Version:'.str_replace('_', '.', $version[0]);
    }
}

/**
 * Notice：此方法仅用于用户登录获取IP，模糊定位，不可用于学生打卡
 * @param number $ip
 * @return string
 */
//function trans_ip_add($ip) {
//    $_url = "https://api.map.baidu.com/location/ip?ak=c97vMnrHsj7OLieAowNRxYOPNUOGZ9xl&ip=".$ip."&coor=bd09ll";
//    $_add_msg = array();
//    if($result=file_get_contents($_url))
//    {
//
//        return explode('"."',substr($result, 250,35));
//        $_add_msg['address'] = explode('"."',substr($result, 250,35));
//        $_add_msg['point'] = explode('"."',substr($result, 250,35));
//    }else {
//        $_add_msg['address'] = "Null";
//        $_add_msg['point'] = "Null";
//    }
//    return $_add_msg;
//}

/**
 * Notice：此方法仅用于用户登录获取IP，模糊定位，不可用于精确
 * @param number $ip
 * @return array $add_msg 设备IP定位信息
 */

function trans_ip_add($ip) {
    $_url = "https://api.map.baidu.com/location/ip?ak=c97vMnrHsj7OLieAowNRxYOPNUOGZ9xl&ip=".$ip."&coor=bd09ll";
    $_res = json_decode(file_get_contents($_url),'true');
    $_add_msg = array();
    if($_res['status']) {
        $_add_msg['ip_address'] = "非法地址";
        $_add_msg['point'] = "非法地址";
    }else {
        $_add_msg['ip_address'] = $_res['address'];
        $_add_msg['point'] = $_res['content']['point']['x'].','.$_res['content']['point']['y'];
    }
    return $_add_msg;
}


/**
 * @param int $time
 * @return string $date 时间戳转 时间
 */
function trans_time($time) {
    return date('Y-m-d h:m:s', $time);
}

/**
 * @param array $value 数组
 * @return bool|string 数组转字符串 A,B,C,D
 */
function get_checkbox_value($value) {
    if (is_array($value)) {
        $new= implode(',',array_keys($value));
        return $new;
    }
    return false;
}

/**
 * @param int $Status 状态
 * @return bool|string 状态按钮
 */
function status($status){
    if($status == '0') {
        return "<span class='layui-btn layui-btn-warm layui-btn-radius layui-btn-xs'>待认证</span>";
    }elseif($status == '1') {
        return "<span class='layui-btn layui-btn-normal layui-btn-radius layui-btn-xs'>已认证</span>";
    }elseif($status == '2') {
        return "<span class='layui-btn layui-btn-warm layui-btn-radius layui-btn-xs'>异常</span>";
    }elseif($status == '3') {
        return "<span class='layui-btn layui-btn-danger layui-btn-radius layui-btn-xs'>永久封停</span>";
    }else {
        return "<span class='layui-btn layui-btn-danger layui-btn-radius layui-btn-xs'>参数错误</span>";
    }
}


/**
 * @param string $type array('jpg','png','jpeg','gif','JPG','PNG','JPEG','GIF');
 * @return bool
 */
function FileTypeJudge($type)
{
    /**
     * FileType 指定格式PNG、JPG、JPEG、BMP
     */
    $FileType = array('jpg','png','jpeg','gif','JPG','PNG','JPEG','GIF');
    if(!in_array($type,$FileType))
    {
        return false;
    }
    return true;
}

//PHP判断是否为微信浏览器(微信客户端)
function isWechatClient() {
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
        return true;
    }
    return false;
}